Attached you can find the code an a input file to try it.
I'm sorry if the code is not realy commented and if it is no real clear, but i have to delete some line because it is base on a database....
Now the program can run without any DB.
You can find even a profile for the program.
You can find even a profile for the program.
Thanks
Lorenzo
On 11/25/05, Chris Devers <[EMAIL PROTECTED]> wrote:
On Fri, 25 Nov 2005, Gary Stainburn wrote:
> Here's my 2peneth.
>
> Avoid regex. While it's powerfull, it's also expensive.
>
> Short but sweet
And useful!
Because we know that regular expressions are the problem here, right?
Err, wait, we haven't seen any code, or any benchmarks, so we don't.
Efficient regexes run efficiently.
Inefficient regexes run inefficiently.
Measuring can help identify potential problems.
But in this case, we don't even know if that's where the problem lies.
--
Chris Devers
è—*B)¢O¯ùPÈ
--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
<http://learn.perl.org/> <http://learn.perl.org/first-response>
in.dat
Description: Binary data
time elapsed (wall): 19.7287 time running program: 18.6327 (94.44%) time profiling (est.): 1.0960 (5.56%) number of calls: 92379
%Time Sec. #calls sec/call F name 76.21 14.1993 0 14.199253 * <other> 13.15 2.4506 10001 0.000245 main::SplitRowByLength 5.42 1.0100 10001 0.000101 main::vldUDC 0.95 0.1762 16000 0.000011 main::fmtTLGInternationalFormatTelegramTEST 0.84 0.1571 8000 0.000020 main::fmtTLGConvertDateTEST 0.44 0.0823 8000 0.000010 main::fmtTLGATTR5_int_natTEST 0.35 0.0659 8000 0.000008 main::fmtTLG_PILOGES_TEST 0.34 0.0632 8000 0.000008 main::fmtTLGATTR2_int_natTEST 0.32 0.0601 8000 0.000008 main::fmtTLG_NUMBER_PORTABILITY_TEST 0.31 0.0582 1 0.058157 <anon>:UDC.pl:13 0.27 0.0496 4 0.012397 DynaLoader::dl_load_file 0.24 0.0445 8000 0.000006 main::fmtTLGEventTypeFIXTEST 0.23 0.0423 8000 0.000005 main::setOutputCDRHeader 0.11 0.0199 1 0.019945 <anon>:....6/PA-RISC2.0/IO/File.pm:117 0.08 0.0153 1 0.015305 <anon>:.../PA-RISC2.0/Time/Piece.pm:12 0.08 0.0153 1 0.015272 <anon>:...A-RISC2.0/Time/Seconds.pm:51 0.08 0.0143 1 0.014297 <anon>:UDC.pl:14 0.08 0.0142 1 0.014153 <anon>:....6/PA-RISC2.0/IO/File.pm:116 0.06 0.0119 1 0.011866 <anon>:....6/PA-RISC2.0/IO/File.pm:118 0.06 0.0111 4 0.002779 Exporter::as_heavy 0.05 0.0097 1 0.009692 <anon>:...A-RISC2.0/IO/Seekable.pm:101 0.04 0.0066 1 0.006575 <anon>:...PA-RISC2.0/Time/Seconds.pm:6 0.03 0.0065 1 0.006464 <anon>:UDC.pl:12 0.03 0.0060 1 0.005961 <anon>:...A-RISC2.0/IO/Seekable.pm:104 0.03 0.0051 1 0.005072 <anon>:.../PA-RISC2.0/Time/Piece.pm:10 0.02 0.0043 1 0.004273 <anon>:...lib/5.8.6/PA-RISC2.0/IO.pm:5 0.02 0.0039 1 0.003905 <anon>:...l5/lib/5.8.6/Time/Local.pm:7 0.02 0.0037 20 0.000186 Exporter::import 0.02 0.0034 1 0.003411 <anon>:.../PA-RISC2.0/IO/Handle.pm:260 0.02 0.0034 1 0.003355 <anon>:...A-RISC2.0/Time/Seconds.pm:26 0.01 0.0027 3 0.000888 Exporter::export 0.01 0.0026 1 0.002635 <anon>:....6/PA-RISC2.0/IO/File.pm:115 0.01 0.0012 25 0.000048 constant::import 0.01 0.0011 1 0.001141 DBI::bootstrap 0.01 0.0011 84 0.000013 DBI::_install_method 0.00 0.0008 2 0.000408 DynaLoader::bootstrap 0.00 0.0007 4 0.000172 DynaLoader::dl_find_symbol 0.00 0.0006 2 0.000308 XSLoader::load 0.00 0.0006 1 0.000597 <anon>:.../5.8.6/PA-RISC2.0/DBI.pm:254 0.00 0.0005 5 0.000090 vars::import 0.00 0.0004 2 0.000208 warnings::register::import 0.00 0.0004 1 0.000361 IO::bootstrap 0.00 0.0003 4 0.000083 overload::OVERLOAD 0.00 0.0003 13 0.000020 strict::unimport 0.00 0.0002 1 0.000237 DBI::setup_driver 0.00 0.0002 4 0.000045 Fcntl::AUTOLOAD 0.00 0.0002 1 0.000172 Exporter::Heavy::_push_tags 0.00 0.0001 4 0.000035 overload::import 0.00 0.0001 12 0.000011 strict::bits 0.00 0.0001 17 0.000006 strict::import 0.00 0.0001 1 0.000083 <anon>:UDC.pl:0 0.00 0.0001 1 0.000083 Config::fetch_string 0.00 0.0001 4 0.000019 DynaLoader::dl_install_xsub 0.00 0.0001 1 0.000077 main::printOutputFileHeader 0.00 0.0001 1 0.000076 <anon>:.../PA-RISC2.0/Time/Piece.pm:43 0.00 0.0001 1 0.000073 <anon>:...PA-RISC2.0/Time/Piece.pm:485 0.00 0.0001 1 0.000072 <anon>:...PA-RISC2.0/IO/Seekable.pm:98 0.00 0.0001 4 0.000017 Fcntl::constant 0.00 0.0001 1 0.000067 <anon>:...PA-RISC2.0/Time/Piece.pm:507 0.00 0.0001 1 0.000056 <anon>:UDC.pl:15 0.00 0.0001 1 0.000056 Time::Piece::bootstrap 0.00 0.0001 1 0.000055 <anon>:.../PA-RISC2.0/IO/Handle.pm:254 0.00 0.0001 4 0.000014 DynaLoader::dl_undef_symbols 0.00 0.0001 1 0.000054 <anon>:...lib/5.8.6/PA-RISC2.0/IO.pm:6 0.00 0.0001 1 0.000054 <anon>:...l5/lib/5.8.6/Time/Local.pm:4 0.00 0.0001 1 0.000054 DBD::_::common::trace_msg 0.00 0.0001 1 0.000053 <anon>:...ib/5.8.6/Exporter/Heavy.pm:3 0.00 0.0001 1 0.000052 <anon>:...PA-RISC2.0/Time/Piece.pm:538 0.00 0.0001 1 0.000051 <anon>:...l5/lib/5.8.6/FileHandle.pm:4 0.00 0.0001 4 0.000013 warnings::register::mkMask 0.00 0.0001 1 0.000051 <anon>:....6/PA-RISC2.0/IO/File.pm:114 0.00 0.0000 1 0.000049 <anon>:.../lib/5.8.6/SelectSaver.pm:38 0.00 0.0000 1 0.000048 <anon>:...6/PA-RISC2.0/Time/Piece.pm:5 0.00 0.0000 1 0.000048 <anon>:.../PA-RISC2.0/Time/Piece.pm:11 0.00 0.0000 1 0.000047 <anon>:.../PA-RISC2.0/IO/Handle.pm:258 0.00 0.0000 1 0.000047 <anon>:.../PA-RISC2.0/IO/Handle.pm:255 0.00 0.0000 1 0.000046 <anon>:...PA-RISC2.0/Time/Seconds.pm:4 0.00 0.0000 1 0.000046 Time::Piece::import 0.00 0.0000 1 0.000046 Exporter::export_ok_tags 0.00 0.0000 1 0.000046 FileHandle::import 0.00 0.0000 1 0.000046 <anon>:...l5/lib/5.8.6/overload.pm:135 0.00 0.0000 1 0.000045 <anon>:.../PA-RISC2.0/IO/Handle.pm:257 0.00 0.0000 1 0.000045 <anon>:.../5.8.6/PA-RISC2.0/DBI.pm:481 0.00 0.0000 1 0.000045 <anon>:...PA-RISC2.0/Time/Piece.pm:396 0.00 0.0000 1 0.000044 <anon>:.../lib/5.8.6/SelectSaver.pm:39 0.00 0.0000 1 0.000044 Fcntl::bootstrap 0.00 0.0000 1 0.000044 <anon>:...erl5/lib/5.8.6/constant.pm:5 0.00 0.0000 1 0.000043 <anon>:...lib/5.8.6/PA-RISC2.0/IO.pm:8 0.00 0.0000 1 0.000043 <anon>:...l5/lib/5.8.6/Time/Local.pm:9 0.00 0.0000 1 0.000043 <anon>:...6/PA-RISC2.0/Time/Piece.pm:6 0.00 0.0000 1 0.000042 <anon>:.../PA-RISC2.0/IO/Handle.pm:601 0.00 0.0000 1 0.000042 <anon>:...5.8.6/PA-RISC2.0/DBI.pm:1301 0.00 0.0000 1 0.000042 <anon>:...rl5/lib/5.8.6/File/Spec.pm:4 0.00 0.0000 1 0.000042 <anon>:...l5/lib/5.8.6/Time/Local.pm:5 0.00 0.0000 1 0.000042 <anon>:.../PA-RISC2.0/Time/Piece.pm:38 0.00 0.0000 1 0.000041 <anon>:...5.8.6/PA-RISC2.0/DBI.pm:1727 0.00 0.0000 1 0.000041 <anon>:...A-RISC2.0/Time/Seconds.pm:40 0.00 0.0000 1 0.000041 <anon>:...A-RISC2.0/Time/Seconds.pm:34 0.00 0.0000 1 0.000041 <anon>:.../PA-RISC2.0/Time/Piece.pm:45 0.00 0.0000 1 0.000041 <anon>:.../PA-RISC2.0/Time/Piece.pm:13 0.00 0.0000 1 0.000041 <anon>:.../5.8.6/PA-RISC2.0/DBI.pm:620 0.00 0.0000 1 0.000041 <anon>:...A-RISC2.0/Time/Seconds.pm:35 0.00 0.0000 1 0.000041 <anon>:.../PA-RISC2.0/Time/Piece.pm:42 0.00 0.0000 1 0.000041 <anon>:.../5.8.6/PA-RISC2.0/DBI.pm:961 0.00 0.0000 1 0.000041 <anon>:.../PA-RISC2.0/Time/Piece.pm:39 0.00 0.0000 1 0.000040 <anon>:UDC.pl:19 0.00 0.0000 1 0.000040 <anon>:...A-RISC2.0/Time/Seconds.pm:39 0.00 0.0000 1 0.000040 <anon>:...A-RISC2.0/Time/Seconds.pm:36 0.00 0.0000 1 0.000040 <anon>:...ib/5.8.6/File/Spec/Unix.pm:4 0.00 0.0000 1 0.000040 <anon>:...PA-RISC2.0/Time/Seconds.pm:5 0.00 0.0000 1 0.000040 <anon>:.../PA-RISC2.0/Time/Piece.pm:47 0.00 0.0000 1 0.000040 <anon>:.../PA-RISC2.0/Time/Piece.pm:48 0.00 0.0000 1 0.000039 <anon>:.../PA-RISC2.0/Time/Piece.pm:41 0.00 0.0000 1 0.000039 <anon>:...A-RISC2.0/Time/Seconds.pm:33 0.00 0.0000 1 0.000039 <anon>:...A-RISC2.0/Time/Seconds.pm:27 0.00 0.0000 1 0.000039 <anon>:...A-RISC2.0/Time/Seconds.pm:30 0.00 0.0000 1 0.000039 <anon>:...A-RISC2.0/Time/Seconds.pm:32 0.00 0.0000 1 0.000039 <anon>:...A-RISC2.0/Time/Seconds.pm:28 0.00 0.0000 1 0.000039 <anon>:.../PA-RISC2.0/Time/Piece.pm:44 0.00 0.0000 1 0.000039 <anon>:.../PA-RISC2.0/Time/Piece.pm:46 0.00 0.0000 1 0.000039 <anon>:...erl5/lib/5.8.6/constant.pm:3 0.00 0.0000 1 0.000039 <anon>:...ib/5.8.6/Exporter/Heavy.pm:4 0.00 0.0000 1 0.000039 <anon>:...rl5/lib/5.8.6/File/Spec.pm:3 0.00 0.0000 1 0.000039 <anon>:.../5.8.6/PA-RISC2.0/DBI.pm:736 0.00 0.0000 1 0.000039 <anon>:...ib/5.8.6/File/Spec/Unix.pm:3 0.00 0.0000 1 0.000039 <anon>:.../5.8.6/PA-RISC2.0/DBI.pm:258 0.00 0.0000 1 0.000039 <anon>:...rl5/lib/5.8.6/constant.pm:99 0.00 0.0000 1 0.000038 <anon>:.../PA-RISC2.0/Time/Piece.pm:40 0.00 0.0000 1 0.000038 <anon>:...5/lib/5.8.6/FileHandle.pm:46 0.00 0.0000 1 0.000038 <anon>:.../5.8.6/File/Spec/Unix.pm:136 0.00 0.0000 1 0.000038 <anon>:....6/PA-RISC2.0/IO/File.pm:112 0.00 0.0000 1 0.000038 <anon>:.../5.8.6/PA-RISC2.0/DBI.pm:895 0.00 0.0000 1 0.000038 <anon>:...A-RISC2.0/Time/Seconds.pm:29 0.00 0.0000 1 0.000037 <anon>:...5.8.6/PA-RISC2.0/DBI.pm:1377 0.00 0.0000 1 0.000037 <anon>:...5/lib/5.8.6/Time/Local.pm:78 0.00 0.0000 1 0.000037 <anon>:...l5/lib/5.8.6/Time/Local.pm:6 0.00 0.0000 1 0.000037 <anon>:...A-RISC2.0/Time/Seconds.pm:31 0.00 0.0000 1 0.000037 <anon>:.../5.8.6/PA-RISC2.0/DBI.pm:798 0.00 0.0000 1 0.000037 <anon>:.../5.8.6/PA-RISC2.0/DBI.pm:769 0.00 0.0000 1 0.000036 <anon>:.../lib/5.8.6/Time/Local.pm:137 0.00 0.0000 1 0.000036 <anon>:...lib/5.8.6/PA-RISC2.0/IO.pm:7 0.00 0.0000 1 0.000036 <anon>:.../5.8.6/PA-RISC2.0/DBI.pm:262 0.00 0.0000 1 0.000036 <anon>:...PA-RISC2.0/IO/Seekable.pm:99 0.00 0.0000 1 0.000036 <anon>:...5/lib/5.8.6/Time/Local.pm:52 0.00 0.0000 1 0.000036 <anon>:...5.8.6/PA-RISC2.0/DBI.pm:1430 0.00 0.0000 5 0.000007 DBI::var::TIESCALAR 0.00 0.0000 1 0.000033 Exporter::Heavy::_rebuild_cache 0.00 0.0000 1 0.000032 warnings::import 0.00 0.0000 1 0.000031 Config::FETCH 0.00 0.0000 6 0.000005 UNIVERSAL::isa 0.00 0.0000 1 0.000029 <anon>:...PA-RISC2.0/IO/Seekable.pm:97 0.00 0.0000 1 0.000028 <anon>:...perl5/lib/5.8.6/Symbol.pm:82 0.00 0.0000 1 0.000028 <anon>:...l5/lib/5.8.6/FileHandle.pm:3 0.00 0.0000 1 0.000028 <anon>:...l/5.8.6/PA-RISC2.0/DBI.pm:13 0.00 0.0000 1 0.000027 Config::import 0.00 0.0000 1 0.000026 main::initializeParameters 0.00 0.0000 1 0.000024 Time::Local::_daygm 0.00 0.0000 1 0.000023 <anon>:....6/PA-RISC2.0/IO/File.pm:111 0.00 0.0000 1 0.000021 <anon>:.../PA-RISC2.0/IO/Handle.pm:259 0.00 0.0000 3 0.000007 <anon>:: 0.00 0.0000 1 0.000020 <anon>:...5.8.6/PA-RISC2.0/Fcntl.pm:61 0.00 0.0000 1 0.000019 <anon>:.../5.8.6/PA-RISC2.0/DBI.pm:151 0.00 0.0000 1 0.000019 <anon>:.../5.8.6/PA-RISC2.0/DBI.pm:149 0.00 0.0000 1 0.000018 <anon>:.../5.8.6/PA-RISC2.0/DBI.pm:150 0.00 0.0000 1 0.000017 <anon>:...erl5/lib/5.8.6/constant.pm:4 0.00 0.0000 2 0.000006 DynaLoader::dl_load_flags 0.00 0.0000 2 0.000006 integer::import 0.00 0.0000 3 0.000004 integer::unimport 0.00 0.0000 1 0.000003 DBI::DBI_tie::TIEHASH
UDC.pl
Description: Binary data
-- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] <http://learn.perl.org/> <http://learn.perl.org/first-response>