#!/usr/bin/perl $PortName = "/dev/tts/0"; $PortObj = open(MODEM,$PortName) || die "Can't open $PortName:$!"; print MODEM "AT S7=45 S0=0 L1 V1 X4 &c1 E1 Q0 #CID=1"; while (1==1) { local $/ = "\n"; while ($line=) { chomp; if ( $line =~ s/NMBR = //) { open(OUTFILE, ">/usr/share/cid/callerid.txt") or die "Can't open callerid.txt: $!"; $line =~ s/^M//; # Strip off any carriage return chars $line =~ s/\n//; # Strip off any line feeds # The output must only contain a single line. print OUTFILE "$line"; close OUTFILE; }; } }