Lines per page $= varible
--_000_D225040F2D0F75448937B83D9527991A01231C8932denex1crick et_
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
I am having difficulty using $=3D correctly to change the number of lines p=
er page. I would like to set it to 600 but can't seem to get $=3D =3D600 to=
work correctly.
Any insight is greatly appreciated.
Thank you,
Chris Stinemetz
1 #!/usr/bin/perl
2
3 #### Smart Phone Perl Script for parsing EVDOPCMD data ####
4 #### ####
5 #### Always room for improvement 1/17/2011 ####
6
7 use warnings;
8 #use strict;
9 use FileHandle;
10
11
12 format RAW_TOP =3D
13 [at] ||||||||||||||||||||||||||||||||||||
14 "######--> Smart Phone report. <--######",
15 Market ESN/MIN Mobile Cell Sector Bytes
16 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D =3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D =3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D =3D=3D
17 .
18
19
20 format RAW =3D
21 [at] <<<<<<<< [at] |||||||||||||| [at] |||||||||||||| [at] |||||||| [at] |||||||| [at] ||||||=
|
22 $mkt,$mtype,$smartPhone,$cell,$sector,$rlptxat
23 .
24
25 # SmartPhone type Hash based on ESN or MEID HEX number
26 my %smartPhone =3D (
27 "CURVE850" =3D> { start =3D> "a000001ca64E38",
28 end =3D> "a00000255c29c0", },
29 "KYOM6000" =3D> { start =3D> "a0000012b71b00",
30 end =3D> "a0000012fef1a0", },
31 "CURVE850" =3D> { start =3D> "ffffffff001388",
32 end =3D> "ffffffff001770", },
33 "Huawei" =3D> { start =3D> "a00000130fa7d0",
34 end =3D> "ffffffff001770", },
35 );
36
37 #### Market assignment Hash based on cell number
38 my %marketInfo =3D (
39 MCI =3D> { start =3D> 1,
40 end =3D> 299, },
41 STL =3D> { start =3D> 300,
42 end =3D> 599, },
43 ICT =3D> { start =3D> 800,
44 end =3D> 850, },
45 );
46
47 sub getSmartPhone {
48
49 my $val =3D shift;
50 foreach my $k (keys %smartPhone) {
51 my ($start, $end) =3D [at] {$smartPhone{$k}}{qw/start end/};
52 return $k if $start ge $val and $val le $end;
53 }
54
55 return "";
56 }
57
58
59 sub getMarket {
60
61 my $val =3D shift;
62 foreach my $k (keys %marketInfo) {
63 my ($start, $end) =3D [at] {$marketInfo{$k}}{qw/start end/};
64 return $k if $start <=3D $val and $val <=3D $end;
65 }
66
67 return "";
68 }
69 open(RAW, ">test.rpt");
70 while (<>) {
71 chomp;
72 if (/;/) {
73 [at] data =3D split /;/;
74 if ($data[31] =3D~ m/^-?\d+$/) { #### regular expression for real=
numerical value
75 $mkt =3D getMarket($data[31]);
76 }
77 else
78 {
79 $mkt =3D "";
80 }
81
82 if ( length($data[5]) > 12) {
83 $smartPhone =3D getSmartPhone(substr($data[5],2,14));
84 }
85 else
86 {
87 $smartPhone =3D "";
88 }
89
90
91 ($mtype,$cell,$sector,$rlptxat) =3D ($data[5],$data[31],$data[32=
],$data[44]);
92 # print "$mkt\t $mtype\t $smartPhone\t $cell\t $sector\t $rlp=
txat\n";
93 write(RAW);
94 }
95 }
96
97 select(RAW);
98 close(RAW);
--_000_D225040F2D0F75448937B83D9527991A01231C8932denex1crick et_--
Re: Lines per page $= varible
On Jan 20, 9:40=A0am, cstinem... [at] cricketcommunications.com (Chris
Stinemetz) wrote:
> I am having difficulty using $=3D correctly to change the number of lines=
per page. I would like to set it to 600 but can't seem to get $=3D =3D600 =
to work correctly.
>
> Any insight is greatly appreciated.
>
> Thank you,
>
> Chris Stinemetz
>
> =A0 =A0 1 #!/usr/bin/perl
> =A0 =A0 2
> =A0 =A0 3 #### Smart Phone Perl Script for parsing EVDOPCMD data =A0####
> =A0 =A0 4 #### ####
> =A0 =A0 5 #### Always room for improvement 1/17/2011 =A0 =A0 =A0 =A0 =A0 =
=A0 =A0####
> =A0 =A0 6
> =A0 =A0 7 use warnings;
> =A0 =A0 8 #use strict;
> =A0 =A0 9 use FileHandle;
> =A0 =A010
> =A0 =A011
> =A0 =A012 format RAW_TOP =3D
> =A0 =A013 [at] ||||||||||||||||||||||||||||||||||||
> =A0 =A014 =A0"######--> Smart Phone report. =A0<--######",
> =A0 =A015 =A0Market =A0 =A0 =A0ESN/MIN =A0 =A0 =A0 =A0 =A0Mobile =A0 =A0 =
=A0 =A0 Cell =A0 =A0Sector =A0 =A0Bytes
> =A0 =A016 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D =3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D =3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D =3D=3D=3D=3D
> =A0 =A017 .
> =A0 18
> =A0 =A019
> =A0 =A020 format RAW =3D
> =A0 =A021 [at] <<<<<<<< [at] |||||||||||||| [at] |||||||||||||| [at] |||||||| [at] |||||||| [at] =
|||||||
> =A0 =A022 $mkt,$mtype,$smartPhone,$cell,$sector,$rlptxat
> =A0 =A023 .
> =A0 =A024
> =A0 =A025 # SmartPhone type Hash based on ESN or MEID HEX number
> =A0 =A026 my %smartPhone =3D (
> =A0 =A027 =A0 =A0"CURVE850" =3D> { start =3D> "a000001ca64E38",
> =A0 =A028 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0end =A0 =3D> "a00000255c=
29c0", },
> =A0 =A029 =A0 =A0"KYOM6000" =3D> { start =3D> "a0000012b71b00",
> =A0 =A030 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0end =A0 =3D> "a0000012fe=
f1a0", },
> =A0 =A031 =A0 =A0"CURVE850" =3D> { start =3D> "ffffffff001388",
> =A0 =A032 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0end =A0 =3D> "ffffffff00=
1770", },
> =A0 =A033 =A0 =A0"Huawei" =A0 =3D> { start =3D> "a00000130fa7d0",
> =A0 =A034 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0end =A0 =3D> "ffffffff00=
1770", },
> =A0 =A035 );
> =A0 =A036
> =A0 =A037 #### Market assignment Hash based on cell number
> =A0 =A038 my %marketInfo =3D (
> =A0 =A039 =A0 =A0 MCI =3D> { start =3D> 1,
> =A0 =A040 =A0 =A0 =A0 =A0 =A0 =A0 =A0end =A0 =3D> 299, },
> =A0 =A041 =A0 =A0 STL =3D> { start =3D> 300,
> =A0 =A042 =A0 =A0 =A0 =A0 =A0 =A0 =A0end =A0 =3D> 599, },
> =A0 =A043 =A0 =A0 ICT =3D> { start =3D> 800,
> =A0 =A044 =A0 =A0 =A0 =A0 =A0 =A0 =A0end =A0 =3D> 850, },
> =A0 =A045 );
> =A0 =A046
> =A0 =A047 sub getSmartPhone {
> =A0 =A048
> =A0 =A049 =A0 =A0my $val =3D shift;
> =A0 =A050 =A0 =A0foreach my $k (keys %smartPhone) {
> =A0 =A051 =A0 =A0 =A0 my ($start, $end) =3D [at] {$smartPhone{$k}}{qw/start e=
nd/};
> =A0 =A052 =A0 =A0 =A0 return $k if $start ge $val and $val le $end;
> =A0 =A053 =A0 =A0}
> =A0 =A054
> =A0 =A055 =A0 =A0return "";
> =A0 =A056 }
> =A0 =A057
> =A0 =A058
> =A0 =A059 sub getMarket {
> =A0 =A060
> =A0 =A061 =A0 =A0my $val =3D shift;
> =A0 =A062 =A0 =A0foreach my $k (keys %marketInfo) {
> =A0 =A063 =A0 =A0 =A0my ($start, $end) =3D [at] {$marketInfo{$k}}{qw/start en=
d/};
> =A0 =A064 =A0 =A0 =A0return $k if $start <=3D $val and $val <=3D $end;
> =A0 =A065 =A0 =A0}
> =A0 =A066
> =A0 =A067 =A0 =A0return "";
> =A0 =A068 }
> =A0 =A069 open(RAW, ">test.rpt");
> =A0 =A070 while (<>) {
> =A0 =A071 =A0 =A0chomp;
> =A0 =A072 =A0 =A0if (/;/) {
> =A0 =A073 =A0 =A0 =A0 [at] data =3D split /;/;
> =A0 =A074 =A0 =A0if ($data[31] =3D~ m/^-?\d+$/) { =A0#### regular express=
ion for real numerical value
> =A0 =A075 =A0 =A0 =A0 $mkt =3D getMarket($data[31]);
> =A0 =A076 =A0 =A0}
> =A0 =A077 =A0 =A0else
> =A0 =A078 =A0 =A0{
> =A0 =A079 =A0 =A0 =A0 $mkt =3D "";
> =A0 =A080 =A0 =A0}
> =A0 =A081
> =A0 =A082 =A0 =A0if ( length($data[5]) > 12) {
> =A0 =A083 =A0 =A0 =A0 $smartPhone =3D getSmartPhone(substr($data[5],2,14)=
);
> =A0 =A084 =A0 =A0}
> =A0 =A085 =A0 =A0else
> =A0 =A086 =A0 =A0{
> =A0 =A087 =A0 =A0 =A0 $smartPhone =3D "";
> =A0 =A088 =A0 =A0}
> =A0 =A089
> =A0 =A090
> =A0 =A091 =A0 =A0 =A0($mtype,$cell,$sector,$rlptxat) =3D ($data[5],$data[=
31],$data[32],$data[44]);
> =A0 =A092 # =A0 =A0 print "$mkt\t =A0$mtype\t $smartPhone\t =A0$cell\t =
=A0$sector\t =A0$rlptxat\n";
> =A0 =A093 =A0 =A0write(RAW);
> =A0 =A094 =A0 =A0}
> =A0 =A095 }
> =A0 =A096
> =A0 =A097 select(RAW);
> =A0 =A098 close(RAW);
perlform is a distant memory but are you setting per
the example in perlvar:
HANDLE->format_lines_per_page(EXPR)
$FORMAT_LINES_PER_PAGE
$=3D The current page length (printable lines) of the currently
selected output channel. Default is 60. Used with formats.
(Mnemonic: =3D has horizontal lines.)
See: perldoc perlvar
In your case:
use IO::Handle;
...
RAW->format_lines_per_page(600);
--
Charles DeRykus
--
To unsubscribe, e-mail: beginners-unsubscribe [at] perl.org
For additional commands, e-mail: beginners-help [at] perl.org
http://learn.perl.org/
RE: Lines per page $= varible
That worked perfectly! Thank you very much!
Chris Stinemetz
-----Original Message-----
From: C.DeRykus [mailto:derykus [at] gmail.com]
Sent: Thursday, January 20, 2011 1:40 PM
To: beginners [at] perl.org
Subject: Re: Lines per page $=3D varible
On Jan 20, 9:40=A0am, cstinem... [at] cricketcommunications.com (Chris
Stinemetz) wrote:
> I am having difficulty using $=3D correctly to change the number of lines=
per page. I would like to set it to 600 but can't seem to get $=3D =3D600 =
to work correctly.
>
> Any insight is greatly appreciated.
>
> Thank you,
>
> Chris Stinemetz
>
> =A0 =A0 1 #!/usr/bin/perl
> =A0 =A0 2
> =A0 =A0 3 #### Smart Phone Perl Script for parsing EVDOPCMD data =A0####
> =A0 =A0 4 #### ####
> =A0 =A0 5 #### Always room for improvement 1/17/2011 =A0 =A0 =A0 =A0 =A0 =
=A0 =A0####
> =A0 =A0 6
> =A0 =A0 7 use warnings;
> =A0 =A0 8 #use strict;
> =A0 =A0 9 use FileHandle;
> =A0 =A010
> =A0 =A011
> =A0 =A012 format RAW_TOP =3D
> =A0 =A013 [at] ||||||||||||||||||||||||||||||||||||
> =A0 =A014 =A0"######--> Smart Phone report. =A0<--######",
> =A0 =A015 =A0Market =A0 =A0 =A0ESN/MIN =A0 =A0 =A0 =A0 =A0Mobile =A0 =A0 =
=A0 =A0 Cell =A0 =A0Sector =A0 =A0Bytes
> =A0 =A016 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D =3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D =3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D =3D=3D=3D=3D
> =A0 =A017 .
> =A0 18
> =A0 =A019
> =A0 =A020 format RAW =3D
> =A0 =A021 [at] <<<<<<<< [at] |||||||||||||| [at] |||||||||||||| [at] |||||||| [at] |||||||| [at] =
|||||||
> =A0 =A022 $mkt,$mtype,$smartPhone,$cell,$sector,$rlptxat
> =A0 =A023 .
> =A0 =A024
> =A0 =A025 # SmartPhone type Hash based on ESN or MEID HEX number
> =A0 =A026 my %smartPhone =3D (
> =A0 =A027 =A0 =A0"CURVE850" =3D> { start =3D> "a000001ca64E38",
> =A0 =A028 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0end =A0 =3D> "a00000255c=
29c0", },
> =A0 =A029 =A0 =A0"KYOM6000" =3D> { start =3D> "a0000012b71b00",
> =A0 =A030 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0end =A0 =3D> "a0000012fe=
f1a0", },
> =A0 =A031 =A0 =A0"CURVE850" =3D> { start =3D> "ffffffff001388",
> =A0 =A032 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0end =A0 =3D> "ffffffff00=
1770", },
> =A0 =A033 =A0 =A0"Huawei" =A0 =3D> { start =3D> "a00000130fa7d0",
> =A0 =A034 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0end =A0 =3D> "ffffffff00=
1770", },
> =A0 =A035 );
> =A0 =A036
> =A0 =A037 #### Market assignment Hash based on cell number
> =A0 =A038 my %marketInfo =3D (
> =A0 =A039 =A0 =A0 MCI =3D> { start =3D> 1,
> =A0 =A040 =A0 =A0 =A0 =A0 =A0 =A0 =A0end =A0 =3D> 299, },
> =A0 =A041 =A0 =A0 STL =3D> { start =3D> 300,
> =A0 =A042 =A0 =A0 =A0 =A0 =A0 =A0 =A0end =A0 =3D> 599, },
> =A0 =A043 =A0 =A0 ICT =3D> { start =3D> 800,
> =A0 =A044 =A0 =A0 =A0 =A0 =A0 =A0 =A0end =A0 =3D> 850, },
> =A0 =A045 );
> =A0 =A046
> =A0 =A047 sub getSmartPhone {
> =A0 =A048
> =A0 =A049 =A0 =A0my $val =3D shift;
> =A0 =A050 =A0 =A0foreach my $k (keys %smartPhone) {
> =A0 =A051 =A0 =A0 =A0 my ($start, $end) =3D [at] {$smartPhone{$k}}{qw/start e=
nd/};
> =A0 =A052 =A0 =A0 =A0 return $k if $start ge $val and $val le $end;
> =A0 =A053 =A0 =A0}
> =A0 =A054
> =A0 =A055 =A0 =A0return "";
> =A0 =A056 }
> =A0 =A057
> =A0 =A058
> =A0 =A059 sub getMarket {
> =A0 =A060
> =A0 =A061 =A0 =A0my $val =3D shift;
> =A0 =A062 =A0 =A0foreach my $k (keys %marketInfo) {
> =A0 =A063 =A0 =A0 =A0my ($start, $end) =3D [at] {$marketInfo{$k}}{qw/start en=
d/};
> =A0 =A064 =A0 =A0 =A0return $k if $start <=3D $val and $val <=3D $end;
> =A0 =A065 =A0 =A0}
> =A0 =A066
> =A0 =A067 =A0 =A0return "";
> =A0 =A068 }
> =A0 =A069 open(RAW, ">test.rpt");
> =A0 =A070 while (<>) {
> =A0 =A071 =A0 =A0chomp;
> =A0 =A072 =A0 =A0if (/;/) {
> =A0 =A073 =A0 =A0 =A0 [at] data =3D split /;/;
> =A0 =A074 =A0 =A0if ($data[31] =3D~ m/^-?\d+$/) { =A0#### regular express=
ion for real numerical value
> =A0 =A075 =A0 =A0 =A0 $mkt =3D getMarket($data[31]);
> =A0 =A076 =A0 =A0}
> =A0 =A077 =A0 =A0else
> =A0 =A078 =A0 =A0{
> =A0 =A079 =A0 =A0 =A0 $mkt =3D "";
> =A0 =A080 =A0 =A0}
> =A0 =A081
> =A0 =A082 =A0 =A0if ( length($data[5]) > 12) {
> =A0 =A083 =A0 =A0 =A0 $smartPhone =3D getSmartPhone(substr($data[5],2,14)=
);
> =A0 =A084 =A0 =A0}
> =A0 =A085 =A0 =A0else
> =A0 =A086 =A0 =A0{
> =A0 =A087 =A0 =A0 =A0 $smartPhone =3D "";
> =A0 =A088 =A0 =A0}
> =A0 =A089
> =A0 =A090
> =A0 =A091 =A0 =A0 =A0($mtype,$cell,$sector,$rlptxat) =3D ($data[5],$data[=
31],$data[32],$data[44]);
> =A0 =A092 # =A0 =A0 print "$mkt\t =A0$mtype\t $smartPhone\t =A0$cell\t =
=A0$sector\t =A0$rlptxat\n";
> =A0 =A093 =A0 =A0write(RAW);
> =A0 =A094 =A0 =A0}
> =A0 =A095 }
> =A0 =A096
> =A0 =A097 select(RAW);
> =A0 =A098 close(RAW);
perlform is a distant memory but are you setting per
the example in perlvar:
HANDLE->format_lines_per_page(EXPR)
$FORMAT_LINES_PER_PAGE
$=3D The current page length (printable lines) of the currently
selected output channel. Default is 60. Used with formats.
(Mnemonic: =3D has horizontal lines.)
See: perldoc perlvar
In your case:
use IO::Handle;
...
RAW->format_lines_per_page(600);
--
Charles DeRykus
--
To unsubscribe, e-mail: beginners-unsubscribe [at] perl.org
For additional commands, e-mail: beginners-help [at] perl.org
http://learn.perl.org/
--
To unsubscribe, e-mail: beginners-unsubscribe [at] perl.org
For additional commands, e-mail: beginners-help [at] perl.org
http://learn.perl.org/
Re: Lines per page $= varible
On Thursday 20 Jan 2011 19:40:55 Chris Stinemetz wrote:
> I am having difficulty using $= correctly to change the number of lines per
> page. I would like to set it to 600 but can't seem to get $= =600 to work
> correctly.
>
In addition to what C. DeRykus said, I should note that the book Perl Best
Practices recommends avoiding the built-in perlform and to use
http://search.cpan.org/dist/Perl6-Form/ instead, and I agree with it. See:
http://perl-begin.org/tutorials/bad-elements/#perlform
Regards,
Shlomi Fish
> Any insight is greatly appreciated.
>
> Thank you,
>
> Chris Stinemetz
>
--
------------------------------------------------------------ -----
Shlomi Fish http://www.shlomifish.org/
First stop for Perl beginners - http://perl-begin.org/
Chuck Norris can make the statement "This statement is false" a true one.
Please reply to list if it's a mailing list post - http://shlom.in/reply .
--
To unsubscribe, e-mail: beginners-unsubscribe [at] perl.org
For additional commands, e-mail: beginners-help [at] perl.org
http://learn.perl.org/