Search This Blog

2010-07-31

Energy prices in Europe with included taxes for households by Eurostat

TIME 2002S1 2002S2 2003S1 2003S2 2004S1 2004S2 2005S1 2005S2 2006S1 2006S2 2007S1 2007S2
CURRENCY GEO
Euro European Union (20,0,0, - - - - - - 0,13 0,13 0,14 0,14 0,15 0,1523 (p)
Euro European Union (20,0,0, - - - - 0,13 0,13 0,14 0,14 0,14 0,14 0,15 -
Euro European Union (10,0,0, 0,13 0,13 0,14 0,14 0,14 0,14 0,14 0,14 0,14 0,15 0,16 0,1566 (p)
Euro Euro area (EA11-20,0,0, - - - 0,14 0,14 0,14 0,15 0,15 0,15 0,15 0,16 0,1604 (p)
Euro Belgium 0,14 0,14 0,14 0,14 0,14 0,14 0,15 0,14 0,14 0,15 0,16 0,16
Euro Bulgaria - - - - 0,06 0,06 0,06 0,07 0,07 0,06 0,07 0,07
Euro Czech Republic 0,08 0,08 0,08 0,08 0,08 0,08 0,09 0,09 0,1 0,1 0,11 0,1
Euro Denmark 0,22 0,22 0,23 0,22 0,23 0,23 0,23 0,23 0,24 0,25 0,26 0,24
Euro Copenhaguen - - - - - - - - - - - -
Euro Germany (includin0,0,0, 0,17 0,17 0,17 0,17 0,17 0,17 0,18 0,18 0,18 0,19 0,19 -
Euro Germany - South 0,19 0,17 0,17 0,17 - - - - - - - -
Euro Western zone of G0,0,0, 0,16 0,16 0,17 0,17 - - - - - - - -
Euro Stuttgart - - - - - - - - - - - -
Euro Munich 0,16 0,17 0,17 0,17 - - - - - - - -
Euro Hambourg 0,17 0,17 0,17 0,17 - - - - - - - -
Euro Frankfurt am Main 0,15 0,15 0,17 0,17 - - - - - - - -
Euro Rostock 0,17 0,17 0,18 0,18 - - - - - - - -
Euro Hanover 0,16 0,16 0,16 0,16 - - - - - - - -
Euro Dusseldorf 0,15 0,15 0,16 0,16 - - - - - - - -
Euro Leipzig 0,17 0,17 0,18 0,16 - - - - - - - -
Euro Erfurt 0,18 0,18 0,19 0,19 - - - - - - - -
Euro Estonia 0,05 - 0,06 - 0,06 0,07 0,07 0,07 0,07 0,08 0,08 0,07
Euro Ireland 0,1 0,1 0,12 0,12 0,13 0,13 0,14 0,14 0,15 0,15 0,17 0,17
Euro Dublin 0,1 0,1 0,12 0,12 0,13 - - - - - - -
Euro Greece 0,06 0,06 0,07 0,07 0,07 0,07 0,07 0,07 0,07 0,07 0,07 0,07
Euro Athènes 0,06 0,06 0,07 0,07 0,07 0,07 0,07 - - - - -
Euro Spain 0,1 0,1 0,11 0,11 0,11 - 0,11 0,11 0,11 0,12 0,12 0,12
Euro Madrid 0,1 0,1 0,11 0,11 0,11 0,11 - - - - - -
Euro France 0,12 0,12 0,12 0,12 0,12 0,12 0,12 0,12 0,12 0,12 0,12 0,12
Euro Paris 0,12 0,12 0,12 0,12 0,12 0,12 0,12 0,12 - - - -
Euro Lille 0,12 0,12 0,12 0,12 0,12 0,12 0,12 0,12 - - - -
Euro Strasbourg 0,11 0,11 0,11 0,11 0,11 0,11 0,11 0,11 - - - -
Euro Toulouse 0,12 0,12 0,12 0,12 0,12 0,12 0,12 0,12 - - - -
Euro Lyons 0,12 0,12 0,12 0,12 0,12 0,12 0,12 0,12 - - - -
Euro Marseilles 0,12 0,12 0,12 0,12 0,12 0,12 0,12 0,12 - - - -
Euro Italy 0,19 0,2 0,2 0,2 0,2 0,19 0,2 0,2 0,21 0,21 0,23 0,23
Euro North and Center - - - - - - - - - - - -
Euro South and Islands - - - - - - - - - - - -
Euro Cyprus 0,09 0,1 0,11 0,11 0,11 0,1 0,11 0,12 0,14 0,14 0,14 0,13
Euro Latvia - - - - 0,06 0,07 0,08 0,08 0,08 0,07 0,07 0,07
Euro Lithuania - - - - 0,06 0,06 0,07 0,07 0,07 0,07 0,08 0,08
Euro Luxembourg (Grand0,0,0, 0,13 0,13 0,13 0,13 0,14 0,14 0,15 0,15 0,16 0,16 0,17 -
Euro Hungary 0,08 0,08 0,08 0,08 0,1 0,11 0,11 0,11 0,11 0,1 0,12 0,13
Euro Malta 0,06 0,07 0,07 0,07 0,07 0,07 0,08 0,08 0,09 0,1 0,1 0,09
Euro Netherlands 0,17 0,17 0,18 0,18 0,18 0,18 0,2 0,2 0,21 0,21 0,22 -
Euro Noord-Holland - - - - - - - - - - - -
Euro Rotterdam - - - - - - - - - - - -
Euro Noord-Brabant - - - - - - - - - - - -
Euro Austria 0,13 0,14 0,14 0,13 0,14 0,14 0,14 0,14 0,13 0,14 0,15 0,16
Euro Oberösterreich/Ti0,0,0, 0,13 0,14 0,14 0,13 0,14 - - - - - - -
Euro Poland 0,11 0,09 0,1 0,1 0,09 0,1 0,11 0,11 0,12 0,11 0,12 0,13
Euro Portugal 0,13 0,13 0,13 0,13 0,14 - 0,14 0,14 0,14 0,14 0,15 0,15
Euro Lisboa 0,13 0,13 0,13 0,13 0,14 0,14 - - - - - -
Euro Romania - - - - - - 0,08 0,09 0,09 0,1 0,1 0,12
Euro Slovenia 0,1 0,1 0,1 0,1 0,1 0,1 0,1 0,1 0,1 0,1 0,11 0,11
Euro Slovakia - - - - 0,12 0,12 0,13 0,13 0,14 0,14 0,15 0,16
Euro Finland 0,09 0,09 0,1 0,11 0,11 0,11 0,11 0,1 0,11 0,11 0,12 0,11
Euro Sweden 0,11 0,11 0,13 0,14 0,14 0,14 0,14 0,13 0,14 0,16 0,17 -
Euro United Kingdom 0,11 0,1 0,1 0,09 0,09 0,09 0,09 0,09 0,1 0,12 0,13 0,13
Euro Leeds (NUTS95) 0,11 0,1 0,1 0,09 0,09 0,09 0,09 0,1 - - - -
Euro Londres (NUTS95) 0,11 0,11 0,11 0,1 0,1 0,09 0,09 0,1 - - - -
Euro Birmingham (NUTS95) 0,1 0,1 0,1 0,09 0,09 0,09 0,09 0,1 - - - -
Euro Glasgow (NUTS95) 0,13 0,12 0,11 0,1 0,1 0,1 0,1 0,1 - - - -
Euro Croatia - - - - - - 0,08 0,09 0,09 0,09 0,09 -
Euro Turkey - - - - - - - - - - - 0,09
Euro Norway 0,13 0,13 0,21 0,13 0,14 0,14 0,16 0,16 0,15 0,16 0,19 0,15

2010-07-29

how-to zip all the files and folders in the current directory into one zip file



@echo off
echo this batch file zips recursively everything from the current directory
echo into one nicely timestamped filename and 
echo this batch files needs 7-zip utility 
echo download it from http://www.7-zip.org/ or google 7-zip download
 
:: set the nicetime var
call GetNiceTime.cmd
 
::delete the previoues zip file 
del /q zipFile.zip
 
:: add the files into a package
zip -r zipFile *
 
::debug echo nicetime is %niceTime%
::debug pause
 
::debug echo rename "%cd%\zipFile.zip" %niceTime%.zip.txt
::debug pause
:: make it a txt file for easier e-mail deleting 
rename "%cd%\zipFile.zip" "%niceTime%.zip.txt"
 
 
::debug pause

how-to setup ssh public key based authentication - e.g. save yourself from typing passwords between two *nix hosts

This post has been adapted from Vivek's article


Prerequisites:
You do have access via ssh to the remote host and PKB has not been disabled:


Steps
1. On your localhost go to your home directory:
cd ~

2. Create the cryptographic key. Read the next Step before running this step:
ssh-keygen -t rsa

3. When asked about passphrase Do not type a passphrase ( read the title of this blog )
Just press Enter twice

4. Use scp to copy the id_rsa.pub (the public key file) to the remote host as authorized_keys2 file, this is known as Installing the public key to server.
scp .ssh/id_rsa.pub userName@remoteHost.DomainName.com:.ssh/authorized_keys2

5. From your local host login in to the remoteHost:
ssh remoteHost.DomainName.com

2010-07-28

Why my laptop is slow ?!

-- EMPTY THE TABLE
truncate table [dbo].[TestDataType_bigint]
go

-- START LOOP
declare @counter bigint
set @counter = -9223372036854775808
while @counter <9223372036854775808
begin
INSERT into [dbo].[TestDataType_bigint]
([ColOfDataType_bigint])
VALUES
(@counter)

set @counter = @counter + 1

end

-- END LOOP

how-to write proc calls debugging stored procedure



 
/****** Object:  StoredProcedure [dbo].[procUtils_ProcCallDebug]    
Script Date: 03/23/2010 14:31:38 
Docs at the end: 
******/
IF  EXISTS (SELECT * FROM sys.objects
WHERE object_id = OBJECT_ID(N'[dbo].[procUtils_ProcCallDebug]') 
AND type in (N'P', N'PC'))
DROP PROCEDURE [dbo].[procUtils_ProcCallDebug]
GO
 
/****** Object:  StoredProcedure [dbo].[procUtils_ProcCallDebug]    
See doc bellow 
Script Date: 03/23/2010 14:31:38 ******/
SET ANSI_NULLS ON
GO
 
SET QUOTED_IDENTIFIER ON
GO
 
 
CREATE PROCEDURE [dbo].[procUtils_ProcCallDebug]                            
@ProcName [varchar](200) -- the name of the procedure making the call  
, @ProcStep [varchar](200) = NULL -- optional the procstep such as START , STOP 
, @Msg [varchar](4000) 
, @DebugMsg [varchar](4000)=null 
, @Ret [int] OUTPUT
, @Time datetime= NULL
, @NiceTime varchar(200) = NULL
, @DomainName varchar(200)
, @SqlLogin varchar(200)
 
AS                            
BEGIN -- proc start                            
SET NOCOUNT ON;                            
declare @ThisProcName varchar(200)        -- you could use this one at the caller's code 
set @ThisProcName = ( SELECT OBJECT_NAME(@@PROCID))        -- which will give you the name of the caller
BEGIN TRY        --begin try                  
set @Ret = 1 --assume that this call of this procedure has failed from the begiing 
 
INSERT INTO [dbo].[ProcLog]
(
[ProcName] 
, [ProcStep]                    
, [NiceTime]
,[SqlLogin]
,[DomainName]
,[Msg]
,[DebugMsg]
)
VALUES
(
@ProcName
, @ProcStep
,@NiceTime
,@SqlLogin
,@DomainName
,@Msg
,@DebugMsg
)
set @Ret = 0 --tell the caller that the insert was ok 
 
END TRY        --end try                  
BEGIN CATCH                        
PRINT 'In CATCH block.                         
Error number: ' + CAST(ERROR_NUMBER() AS varchar(10)) + '                        
Error message: ' + ERROR_MESSAGE() + '                        
Error severity: ' + CAST(ERROR_SEVERITY() AS varchar(10)) + '                        
Error state: ' + CAST(ERROR_STATE() AS varchar(10)) + '                        
XACT_STATE: ' + CAST(XACT_STATE() AS varchar(10));                        
set @Msg = 'Failed to retrieve Report '             
set @DebugMsg = ' Error number: ' + CAST(ERROR_NUMBER() AS varchar(10)) +               
'Error message: ' + ERROR_MESSAGE() + 'Error severity: ' + CAST(ERROR_SEVERITY() AS varchar(10)) +               
'Error state: ' + CAST(ERROR_STATE() AS varchar(10)) + 'XACT_STATE: ' + CAST(XACT_STATE() AS varchar(10))                        
--record the error in the database                        
set @DebugMsg = @DebugMsg + @Msg    
set @Ret = 1                       
END CATCH                        
return  @Ret                                   
END --PROC END
/*                   
<ProcName> procUtils_ProcCallDebug </ProcName> 
<doc>
Provides a simple logging mechanism to a database with the ProcLog Table 
</doc> 
<use>
 
DECLARE    @return_value int,
@ProcName varchar(200),
@Msg varchar(4000),
@DebugMsg varchar(4000),
@ProcStep varchar(200) , 
@Ret int
 
SELECT    @Msg = N'The Msg to the end user'
SELECT    @DebugMsg = N'The debugging msg'
SELECT    @Ret = 1
SELECT @ProcName = 'TheNameOfTheCallingProc or replace with the SELECT OBJECT_NAME(@@PROCID)'
SELECT @ProcStep = 'STOP'
 
EXEC    @return_value = [dbo].[procUtils_ProcCallDebug]
@ProcName= @ProcName ,
@ProcStep = @ProcStep ,  
@Msg = @Msg ,
@DebugMsg = @DebugMsg ,
@Ret = @Ret OUTPUT,
@NiceTime = N'2010.10.31--12:44',
@DomainName = N'DomainName',
@SqlLogin = N'SqlLogin'
 
SELECT            @Ret as N'@Ret'
 
SELECT    'Return Value' = @return_value
 
GO
 
 
SELECT TOP 10 * FROM ProcLog order by 1 desc
</use> */ 
GO
 
 
-- START PERMISSIONS 
 
-- GRANT EXECUTE ON [dbo].[procUtils_ProcCallDebug] TO public AS [dbo]
--GO
 
-- END PERMISSIONS 

how-to write a proc calls debugging table in mssql



 
 
IF  EXISTS (SELECT * FROM dbo.sysobjects 
WHERE id = OBJECT_ID(N'[DF_ProcLog_Time]') AND type = 'D')
BEGIN
ALTER TABLE [dbo].[ProcLog] DROP CONSTRAINT [DF_ProcLog_Time]
END
 
GO
 
/****** Object:  Table [dbo].[ProcLog]    Script Date: 03/20/2010 12:39:29 ******/
IF  EXISTS (SELECT * FROM sys.objects 
WHERE object_id = OBJECT_ID(N'[dbo].[ProcLog]') AND type in (N'U'))
DROP TABLE [dbo].[ProcLog]
GO
 
/****** Object:  Table [dbo].[ProcLog]    Script Date: 03/20/2010 12:39:29 ******/
SET ANSI_NULLS ON
GO
 
SET QUOTED_IDENTIFIER ON
GO
 
CREATE TABLE [dbo].[ProcLog](
[ProcLogId] [bigint] IDENTITY(1,1) NOT NULL, --this is the PK
[TimeStamp] [timestamp] NULL, -- just a timestamp 
[Time] [datetime] NULL, --the date 
[NiceTime] [varchar](200) NULL, -- th
[SqlLogin] [varchar](200) NOT NULL, -- which Sql login intstantiated this CALL ?!
[DomainName] [varchar](200) NULL , --if a separate Domain Name credentials are used 
[Msg] [varchar](4000) NULL, --the msg to log could be shown to end user
[DebugMsg] [varchar](4000) NULL, --the debug msg aimed for Advanced Application Support
CONSTRAINT [PK_ProcLogId] PRIMARY KEY CLUSTERED 
(
[ProcLogId] ASC
)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]
) ON [PRIMARY]
 
 
/* <doc> 
Provides a single storage place for Proc calls 
</doc> */
 
 
GO
 
ALTER TABLE [dbo].[ProcLog] ADD  CONSTRAINT [DF_ProcLog_Time]  DEFAULT (getdate()) FOR [Time]
GO
 
 

how-to START OUTLOOK with selected Unread Mail folder

ECHO START OUTLOOK with selected Unread Mail folder
cmd /c start /max outlook /select "outlook:Search Folders\Unread Mail"

Принципи и поуки ...

Пореден номер Принцип или поука
1 Едно е да си баеш на себе си и на другите, второ да знаеш какво искаш , трето наистина да го искаш , четвърто е да знаеш как да го направиш , пето да можеш да го направиш , шесто е наистина да го направиш , седмо да не съжаляваш че си го направил
2 Не си въобгъзявай. Правиж не само себе си , но и останалите на гъз.
3 Не лъжи – така или иначе истината излиза наяве своевременно.
4 Изправи се и горе главата. Не бъди надменен а горд. Мълчи и си изчаквай реда за говорене.
5 Мисли тук и сега и действай според реалността, но знай че успешното бъдеще иска стратегическо планиране.
6 Не кради. Ако крадеш , значи не го заслужаваш.
7 Ако не обичаш и пазиш себе си, няма да имаш сили да обичаш и пазиш хората които обичаш около себе си.
8 Не е важно да спечелиш всяка една битка. Важното е да си победител във войната на живота
9 Когато бързаш без да мислиш и си стесиран, малките камъчета правят големи поражения
10 Виртуалният свят оправлява физическия, но той е нищо като му дръпнат шалтера
11 Не бъди по-краставичар от краставичаря. Ако няма какво да кажеш си мълчи като индианец. Като мълчиш не ги гледай във очите.
12 Черната овца никой не я обича както и да мечи или да се опитва да смени козината
13 Сдраво тяло, здрав дух. Можеш да разбереш колко е безценно здравето чак като го изгубиш.
14 Когато има междуособици във тима, не говори за личности а за обстоятелства и проблеми
15 Не се критикувай пред останалите, още по-малко не повдигай темата за твоите грешки …
16 Голмайсторите от чужбина ги търпят само докато правят голове, когато престанат ги ритат първи извън терена
17 В живота побеждават тези които могат и да губят
18 Една злоупотреба с алкохол може да ти струва от 15 дена до цял живот работа или дори живота. За наркотиците дори не си струва да се говори
19 Когато много ти се иска да кажеш нещо и да прекъснеш остананалите изчакай
20 Когато делегираш на някого нещо гледай да не започне да си прави каквото иска … а каквото трябва.
21 Ако казваш на другите :“ Не прави каквото аз правя а прави каквото аз казвам“ си въобгъзяваш и правиш не само другите а и себе си на гъз …
22 Защо пък трябва да се харесваш на останалите след като болшинството от тях така или иначе не те харесва
23 Дойде ли момент когато списъкът ти от задачи стане много голям, може да започеш да си задаваш въпроси
24 Когато лайната ти стигнат до устата , горе главата !!!
25 Ако си сигурен че като кажеш нещо на слушащите те няма да те разберат или ефекта ще бъде 0 въобще има ли смисъл да си отваряш устата
26 От викане файда няма. Колкото повече викаш толкова повече няма да стане !!!
27 Започне някой да ти говори само неща които искаш да чуеш значи иска да ти продава нещо
28 Можеш да станеше лидер на нов успешен бизнес след разбереш възможността и убедиш хората които ще участват в него и действително го провеждаш така че всички да са доволни
29 Преди лайното да се удари във вентилатора започва да мирише … Помисли си докога има смисъл да стоиш във стаята на действието
30 Не показвай на другите без причина колкото си успял – завистта пречи при уреждането на взаимните работи
31 Ако някой ти губи времето разкарай го учтиво така че да не остане засегнат

2010-07-27

Разрешение на енергиините проблеми в България

Фактите:
  • България е почти 100% зависима от Русия, която ни продава въглеводороди на по-високи цени отколкото на западните страни и се меси чрез енергията във вътрешната политика на страната ни.

  • България е малък енергиен пазар и няма ресурсите да развива собствени технологии за енергиино производство.

  • Новите технологии за съхранение на електроенергия ще отстранят двигателите с вътрешно горене с електродвигатели за следващите 10 години.
  • Западна Европа и САЩ имат политически интерес България да не бъде под пълното енергиино влияние на Русия (иначе нямаше да ни допуснат в НАТО и ЕС)

One more reason to love the Register

about Oracle:
Oracle's PR machine, which is about as responsive as a mother-in-law (meaning, it talks to you when it wants to criticize or to get something, but generally ignores you otherwise), woke up early Friday morning to clarify Phillips' comments, saying that Oracle's acquisition strategy had not changed.
(Update)
Ok. "Love" might be exaggeration ...

Solaris is sometimes lovely ...

/usr/sbin/lsof | grep -v grep | grep LISTEN

how-to parse xml file with perl and XML::Simple module



use strict ; 
use warnings ; 
use XML::Simple;        #ppm install XML::Simple
use Data::Dumper; #ppm install Data::Dumper - used just for debugging
 
 
 
 
sub main 
{
print "START SCRIPT " ; 
 
my $fileToParse = 'C:/Temp/CDIP/scripts/perl/nps_all_workflows.xml' ; 
 
# create object
my $objXml= new XML::Simple;
 
# read XML file
my $data = $objXml->XMLin("$fileToParse");
 
# print "\n FirstLevel is " . $objXml->{'POWERMART'} ; 
 
 
printHashKeyValues ($data ) ;  
} #eof main 
 
 
#for each 
sub printHashKeyValues  
{
 
my $refHash = shift ; 
my $parentKey = shift ; 
my $parentValue = shift ; 
 
 
while( my ($key, $value) = each %$refHash) 
{
 
 
if ( defined ( $key ) )
{
if ( ref ($refHash->{"$key"}) eq 'HASH'  ) 
{
my $newRefHash = $refHash->{"$key"} ; 
print " \n The key is a hash " ; 
printHashKeyValues ($newRefHash , $key , $value) ;
}
 
 
if ( ref ($refHash->{"$key"}) eq 'ARRAY'  ) 
{
print " \n the key is an ARRAY " ; 
printArrayValues ( $refHash->{"$key"} ) ; 
}
 
 
} #eof  if ( defined ( $key ))
 
if ( defined ( $value) )
{
 
if (  ref ($refHash->{"$value"}) eq 'HASH'  ) 
{
my $newRefHash = $refHash->{"$value"} ; 
print " \n The value is a hash " ; 
printHashKeyValues ($newRefHash , $key , $value) ;
}
 
 
if ( ref ($refHash->{"$value"}) eq 'ARRAY'  ) 
{
print " \n the value is an ARRAY " ; 
printArrayValues ( $refHash->{"$value"} ) ; 
}
 
} #eof if defined ( $value ) 
 
print "\n key: $key, value: $value.\n";
 
 
} #eof while
} #eof sub 
 
 
#Foreach element of the array if it is array call itself recursively 
# if the element is a hash ref print the hash recursively 
sub printArrayValues
{
my $arrRef = shift ; 
my @array = @$arrRef; 
my $parrentArrayElement = shift ; 
 
print "printArrayValues CALLED " ;
 
foreach my $arrayElement ( @array ) 
{
if (defined ( $arrayElement ) )
{
if   ( ref ($arrayElement) eq 'HASH'  ) 
{
print " \n The  \$arrayElement is a hash FROM THE ARRAY " ; 
printHashKeyValues ($arrayElement ) ;  
} #eof if 
 
if   ( ref ($arrayElement) eq 'ARRAY'  ) 
{
print " \n The \$arrayElement is a ARRAY  FROM THE ARRAY " ; 
printArrayValues ($arrayElement ) ;  
} #eof if 
 
print "\n \$arrayElement is $arrayElement " ; 
} #eof if ( defined ( $arrayElement ) ) 
 
 
 
} #eof foreach 
 
} #eof sub 
 
 
 
 
# print output
#print Dumper($data);
 
 
 
#action !!
main();
 
1 ; 
 
#Purpose: 
#open an xml file and parse it with XML::Simple
#since the XML::Simple module represents the xml document as a data structure collection of hash of hashes and array 
#go trough the initial hash and if the key or the value are hashes print hash recursively 
# if the key or the value are array refs print hte array refs recursively 
#Version 1.0 
#TODO: add recognition for parent keys and values 

Perl Cheat Sheet



#Perl Cheat Sheet 
 
# INSTALLING MODULES ON PERL 
perl -e -MCPAN "install 'GD'" 
ppm search module:name
 
 
#READ ALL ROWS OF A FILE TO ALIST 
open (INPUT, "<$inputfile") || print "could not open the file!\n"; 
@myfile = <INPUT>;
close INPUT;
 
 
#FOREACH LINE OF THE FILE DO SOMETHING
foreach my $line ( @lineArray  ) 
{
print "$line" ; 
} #eof foreach 
# END FOREACH LINE 
 
 
#GET A NICE TIME 
sub timestamp {
#
# Purpose: returns the time in yyyymmdd-format 
#
my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); 
#---- change 'month'- and 'year'-values to correct format ---- 
$min = "0$min" if ($min < 10); 
$hour = "0$hour" if ($hour < 10);
$mon = $mon + 1;
$mon = "0$mon" if ($mon < 10); 
$year = $year + 1900;
$mday = "0$mday" if ($mday < 10); 
return "$year$mon$mday" . "_" . "$hour$min" . "_" . $sec; 
}
 
 
 
# READ ALL ROWS TO LIST
open (FILE,$file);
@rows = <FILE>;
close (FILE);
 
 
# GREP ALL ROWS CONTAINING 'MACHINE=' (TO A LIST)
@list = grep(/machine=/,@rows); 
 
# A NICE WAY TO CONCATENATE A STRING TO THE SAME STRING 
#--- Collect agents from yesterday ------------------------------
$sql = "select distinct(AgentName),LocationName from TransactionDetails td "; 
$sql .= "inner join Applications ap on td.ApplicationID = ap.ApplicationID ";
$sql .= "inner join Agents ag on td.AgentID = ag.AgentID ";
$sql .= "inner join Locations lo on td.LocationID = lo.LocationID ";
$sql .= "where ApplicationName like \'" . $APPLICATION . "\' and "; 
$sql .= "StartTime between \'" . $DAY2 . "\' and \'" . $DAY1 . "\' "; 
$sql .= "order by 1";
# THE EQUIVALENT OF THE SET COMMAND TROUGH THE COMMAND PROMT 
foreach $i (keys %ENV) 
{
print FH "$i : $ENV{$i} \n";
}
#accept a command line parameter 
our $CycleScriptRun_pid = $ARGV[0] ; 
 
 
#========================================================== 
#start a Windows process 
use Win32 ; 
use Win32::Process ; 
 
my $DayCycle_path= $varHolder->{'BASEDIR'} . " DayCycle.exe" ;
if( $varHolder->{VISIBLE_MODE} == 1)
{ Win32::Process::Create( $DayCycle_o, "$DayCycle_path", "" , 0, 
CREATE_NEW_CONSOLE ,$varHolder->{'BASEDIR'}); } 
else
{ Win32::Process::Create( $DayCycle_o, "$DayCycle_path", "" , 0,
CREATE_NO_WINDOW ,$varHolder->{'BASEDIR'}); } 
 
$DayCycle_pid = $DayCycle_o->GetProcessID() ; 
#========================================================== 
#==========================================================
#Purpose : to tie a file 
#============================= =============================
use Tie::File ; 
my @file_array = ();
my $file = 'C:/Temp/folder/settings.txt' ; 
tie @file_array , 'Tie::File', $file , memory => 100_000_000 or die "I cannot find the $file" ; 
 
foreach (@file_array) #foreach line of the file 
{ s/$setting=(\d+)/$setting=$value/; 
}
untie @file_array ; 
#==========================================================
#========================================================== 
# create a nameless hash
#========================================================== 
my $record = #one record for each cycle 
{
APP=> "$csAppName" , 
SCRIPT=> "$psCurrentScript" , 
STEP=> "$psCurrentStep" 
} ;
#========================================================== 
#========================================================== 
#simple  perl regex cheatsheet
#========================================================== 
Operators
m// 'Match' operator
s/// 'Substitute' operator 
tr/// 'Translate' operator 
 
# Special Characters
. Any single character escept newline n
b Between word and non-word chars, ie: /bcat/b/ matches "cat" but not "scat" 
B NOT between word and non-word chars 
w Word character 
W Non-word character
d Digit
D Non-digit
s White-space
S Non-white-space
 
# Assertions (Position Definers)
^ Start of the string
$ End of the string
 
# Quantifiers (Numbers Of Characters) 
n* Zero or more of 'n'
n+ One or more of 'n'
n? A possible 'n'
 
n{2} Exactly 2 of 'n'
n{2, } At least 2 (or more) of 'n' 
n{2,4} From 2 to 4 of 'n'
 
# Groupings
() Parenthesis to group expressions
(n/sitebuilder/regex/images/1/a) Either 'n' or 'a'
Character Classes
[1-6] A number between 1 and 6 
[c-h] A lower case character between c and h 
[D-M] An upper case character between D and M
[^a-z] Absence of lower case character between a and z
[_a-zA-Z] An underscore or any letter of the alphabet
 
Useful  Perl  Snippets
$mystring =~ s/^s*(.*?)s*$/$1/; Trim leading and trailing whitespace from $mystring 
$mystring =~ tr/A-Z/a-z/; Convert $mystring to all lower case
$mystring =~ tr/a-z/A-Z/; Convert $mystring to all upper case 
tr/a-zA-Z//s; Compress character runs, eg: bookkeeper -> bokeper
tr/a-zA-Z/ /cs; Convert non-alpha characters to a single space 
 
 
#=============================================================
#Install a perl module from behind a firewalll using ppm
#=============================================================
Example with Compress-Bzip2 
 
1. Download tar package from the nearest cpan mirror to C:\Temp\TEMP folder (could be other also ; ) 
2. Create Compress-Bzip2.ppd type of file , containging the following: 
 
<?xml version="1.0" encoding="UTF-8"?> 
<SOFTPKG NAME="Compress-Bzip2" VERSION="2,2,09"> 
<TITLE>Compress-Bzip2</TITLE>
<ABSTRACT>Blah</ABSTRACT>
<AUTHOR>Somebody</AUTHOR>
<IMPLEMENTATION> 
<CODEBASE HREF="file:///C|/Temp/TEMP/Compress-Bzip2-2.09.tar.gz "></CODEBASE>
<INSTALL></INSTALL>
<UNINSTALL></UNINSTALL>
</IMPLEMENTATION>
</SOFTPKG> 
 
Attention: . Name and codebase NOT C:\ BUT file:///C|
 
3. Open Dos prompt into the C:\Temp\TEMP (or whichever you prevered in the beginning) 
4. Run the command : 
ppm rep add downloadedTars C:\Temp\A_DOWNLOADS\downloaded _perlmodules 
In order to add the folder to the list of your current ppm repositories 
 
5. ppm install Compress-Bzip2
In order to install the module from the local folder 
 
6. ppm rep delete myNewRepository 
In order to remove the repository from the ppm 
#Add Nokia's servers to thte local ppm's repository 
ppm rep add linox1 http://linox.nokia.com/mirror/cpan/
ppm rep add linox2  ftp://linux.nokia.com/mirror/cpan/
 
 
#sleep for less than second in Windows 
use Win32 ; 
Win32::sleep ($time_in_milliseconds);
 
#=================================================================== 
#throw proper errro messages while checking the file size 
use File::stat qw(:FIELDS);
#create the obj wrapper for getting the file attributes 
my $st =stat($file) or croak ( "No $stdout : $!"); #die will shut down the program !!!! 
# get the file size 
my $size = $st->size();
$stat_obj =stat($stdout) or die "No $stdout: $!";
#throw proper errro messages ^^^^
($dev,$ino,$mode,$nlink,$uid,$gid,$rdev,$size,
$atime,$mtime,$ctime,$blksize,$blocks) 
= stat($filename);
#===================================================================
 
#================================================================
 
#get the computername of a computer 
$computername = $ENV{COMPUTERNAME} ; 
#get the username of the a Windows computer
$userName = $ENV{USERNAME} ; 
#get the name of the currrent executing script and ints pid 
print $0 , $$ ; 
#=========================================================== ======== 
#The textpad settings for jump to error for perl scripts File 1 Register 2
^.+at (.+) line ([0-9]+)[.,]?
exec *.pl *.pm *.cgi /s /b do  perl -wc 
 
#=========================================================== ===== 
 
#===================================================================
#======== Exctract only the name of a file witout the long path 
#=================================================================== 
 
my ($keijo) = "c:\\homo\\urpo\\neste\\kekvo.exe";
@homo = split(/\\/,$keijo);
$jee = pop(@homo);
#The same thing 
$file=~m/^.*(\\|\/)(.*)/; # strip the remote path and keep the filename
my $name = $2; 
 
#===================================================================
#=================================================================== 
#PRINT TILL THE END OF A LABLE 
#============================= ====================================== 
print <<END_HTML;
 
<html> <head> 
<title>thanks!</title> 
</head> 
 
<body> 
<p>thanks for uploading your photo!</p> 
 
<p>your photo:</p> 
<img src="/upload/$filename" border="0"> 
 
</body> </html> 
 
END_HTML
# IMPORTANT !!!! IF THERE ARE SPACES IN THE PREVIOUS LINE == SYNTAX ERROR 
 
#=================================================================== 
 
#check for file existance and other attributes 
$readfile="myfile.cgi";
 
if ( (-e $readfile) && (-r $readfile) ) 
{ 
#proceed with your code
}
 
#================================================================= 
#how to check my perl installed modules
#perldoc perllocal OR 
#ppm install ExtUtils::Installed save and run this one 
#source  http://www.cpan.org/misc/cpan-faq.html#How_installed_modules 
 
use ExtUtils::Installed;
my $instmod = ExtUtils::Installed->new();
foreach my $module ($instmod->modules()) 
{
my $version = $instmod->version($module) || "???"; 
print "$module -- $version\n"; 
}
#=================================================================
 
#How to check version of a module on Windows XP
perl  -le "use CGI; print $CGI::VERSION"
 
#change the @INC withing a perl script 
#Is Mail::Sendmail installed correctly? (Can you run a script with just "use Mail::Sendmail;"?) Check your @INC on your web server, and copy Sendmail.pm to a Mail subdirectory of one of the dirs. in your @INC. If you have not access to any of these, add the directory in a BEGIN block: 
#BEGIN{ unshift @INC, '/absolute/path/to/my/personal/perl_lib'; } and copy Sendmail.pm to /absolute/path/to/my/personal/perl_lib/Mail/Sendmail.pm. 
 
 
 
 
 
 
 
local( $/, *FILE ) ; 
open (FILE , $sessionFile ) or 
die "Cannot find $sessionFile !!! " ; 
$fileString = <FILE>; #slurp the whole file into one string !!! 
close FILE ; 
 
use Encode ; 
my $fileByteStream = decode('windows-1251', $fileString );
my $UTFSream = encode('UTF-8', $fileByteStream);
 
print "Read the whole directory for specific types of files " ; 
$dh = DirHandle->new($path) or die "Can't open $path : $!\n";
@files = grep { /\.[ch]$/i } $dh->read();
 
# START FOREACH LINE 
#SET HERE THE PATH TO THE FILE 
my $inputfile='DD61_STG_OMDW.vwFactUserRegistration.txt' ; 
 
#READ ALL ROWS OF A FILE TO ALIST 
open (INPUT, "<$inputfile") || print "could not open the file!\n"; 
my @lineArray = <INPUT>;
close INPUT;
 
 
#how-to print key values in hashes 
while( my ($key, $value) = each %$refHash) 
{
print "\n key: $key, value: $value.\n";
}
 
#<<DOC_END;
The purpose of the script is ... 
DOC_END
 

Labels

perl (41) Cheat Sheet (25) how-to (24) sql server 2008 (13) windows (13) linux (12) oracle (12) sql (12) Unix (11) cmd windows batch (10) mssql (10) cmd (9) script (9) textpad (9) netezza (8) sql server 2005 (8) cygwin (7) meta data mssql (7) metadata (7) bash (6) code generation (6) Informatica (5) cheatsheet (5) energy (5) tsql (5) utilities (5) excel (4) future (4) generic (4) html (4) perl modules (4) programs (4) settings (4) sh (4) shortcuts (4) поуки (4) принципи (4) Focus Fusion (3) Solaris (3) cool programs (3) development (3) economy (3) example (3) freeware (3) fusion (3) git cheat sheet (3) logging (3) morphus (3) mssql 2005 (3) nuclear (3) nz (3) parse (3) python (3) sftp (3) sofware development (3) source (3) sqlplus (3) table (3) vim (3) .Net (2) C# (2) China (2) GUI (2) Google (2) GoogleCL (2) Solaris Unix (2) ascii (2) awk (2) batch (2) cas (2) chrome extensions (2) code2html (2) columns (2) configuration (2) conversion (2) duplicates (2) excel shortcuts (2) export (2) file (2) free programs (2) informatica sql repository (2) mssql 2008 (2) mysql (2) next big future (2) nsis (2) nz netezza cheat sheet (2) nzsql (2) ora (2) prediction (2) publish (2) release management (2) report (2) security (2) single-click (2) sqlserver 2005 (2) sqlserver 2008 (2) src (2) ssh (2) template (2) tools (2) vba (2) video (2) xlt (2) xml (2) youtube videos (2) *nix (1) .vimrc (1) .virmrc vim settings configs (1) BSD license (1) Bulgaria (1) Dallas (1) Database role (1) Dense plasma focus (1) Deployment (1) ERP (1) ExcelToHtml (1) GD (1) GDP (1) HP-UX (1) Hosting (1) INC (1) IT general (1) ITIL management bullshit-management (1) IZarc (1) Java Web Start (1) JavaScript anchor html jquery (1) Khan Academy (1) LINUX UNIX BASH AND CYGWIN TIPS AND TRICKS (1) Linux Unix rpm cpio build install configure (1) Linux git source build .configure make (1) ListBox (1) MIT HYDROGEN VIRUS (1) OO (1) Obama (1) PowerShell (1) Run-time (1) SDL (1) SIWA (1) SOX (1) Scala (1) Services (1) Stacks (1) SubSonic (1) TED (1) abstractions (1) ansible hosts linux bash (1) ansible linux deployment how-to (1) ansible yum pip python (1) apache (1) apache 2.2 (1) application life cycle (1) architecture (1) archive (1) arguments (1) avatar (1) backup (1) bash Linux open-ssh ssh ssh_server ssh_client public-private key authentication (1) bash perl search and replace (1) bash stub (1) bin (1) biofuels (1) biology (1) books (1) browser (1) bubblesort (1) bugs (1) build (1) byte (1) cas_sql_dev (1) chennai (1) chrome (1) class (1) claut (1) cmdow (1) code generation sqlserver (1) command (1) command line (1) conf (1) confluence (1) console (1) convert (1) cool programs windows free freeware (1) copy-paste (1) csv (1) ctags (1) current local time (1) cygwin X11 port-forwarding mintty xclock Linux Unix X (1) cygwin bash how-to tips_n_tricks (1) cygwin conf how-to (1) data (1) data types (1) db2 cheat sheet (1) db2 starter ibm bash Linux (1) debt (1) diagram (1) dictionaries (1) digital (1) disk (1) disk space (1) documentation (1) dos (1) dubai (1) e-cars (1) electric cars (1) electricity (1) emulate (1) errors (1) exponents (1) export workflow (1) extract (1) fast export (1) fexp (1) file extension (1) file permissions (1) findtag (1) firewall (1) for loop (1) freaky (1) functions (1) fusion research (1) german (1) git gitlab issues handling system (1) google cli (1) google code (1) google command line interface (1) gpg (1) ha (1) head (1) helsinki (1) history (1) hop or flop (1) host-independant (1) how-to Windows cmd time date datetime (1) ibm db2 cognos installation example db deployment provisioning (1) ideas (1) image (1) informatica oracle sql (1) informatica repo sql workflows sessions file source dir (1) informatica source files etl (1) install (1) it management best practices (1) java (1) jump to (1) keyboard shortcuts (1) ksh (1) level (1) linkedin (1) linux bash ansible hosts (1) linux bash commands (1) linux bash how-to shell expansion (1) linux bash shell grep xargs (1) linux bash tips and t ricks (1) linux bash unix cygwin cheatsheet (1) linux bash user accounts password (1) linux bash xargs space (1) linux cheat sheet (1) linux cheat-sheet (1) linux cheatsheet cheat-sheet revised how-to (1) linux how-to non-root vim (1) linux ssh hosts parallel subshell bash oneliner (1) london (1) make (1) me (1) metacolumn (1) metadata functions (1) metaphonre (1) method (1) model (1) movie (1) multithreaded (1) mysql cheat sheet (1) mysql how-to table datatypes (1) n900 (1) nano (1) neteza (1) netezza bash linux nps (1) netezza nps (1) netezza nps nzsql (1) netezza nz Linux bash (1) netezza nz bash linux (1) netezza nz nzsql sql (1) netezza nzsql database db sizes (1) non-password (1) nord pol (1) nps backup nzsql schema (1) number formatting (1) nz db size (1) nz table count rows (1) nzsql date timestamp compare bigint to_date to_char now (1) on-lier (1) one-liners (1) one-to-many (1) oneliners (1) open (1) open source (1) openrowset (1) oracle PL/SQL (1) oracle Perl perl (1) oracle installation usability (1) oracle number formatting format-model ora-sql oracle (1) oracle templates create table (1) oracle trigger generic autoincrement (1) oracle vbox virtual box cheat sheet (1) oracle virtual box cheat sheet (1) outlook (1) parser (1) password (1) paths (1) perl @INC compile-time run-time (1) perl disk usage administration Linux Unix (1) perl modules configuration management (1) permissions (1) php (1) picasa (1) platform (1) postgreSQL how-to (1) powerShell cmd cygwin mintty.exe terminal (1) ppm (1) predictions (1) prices (1) principles (1) productivity (1) project (1) prompt (1) proxy account (1) public private key (1) publishing (1) putty (1) qt (1) read file (1) registry (1) relationship (1) repository (1) rm (1) scp (1) scripts (1) scsi (1) search and replace (1) sed (1) sendEmail (1) sh stub (1) shortcuts Windows sql developer Oracle (1) sidebar (1) silicon (1) smtp (1) software procurement (1) sofware (1) sort (1) sql script (1) sql_dev (1) sqlcmd (1) sqlite (1) sqlite3 (1) sshd (1) sshd cygwin (1) stackoverflow (1) stored procedure (1) stub (1) stupidity (1) subroutines (1) svn (1) sysinternals (1) tail (1) tar (1) temp table (1) templates (1) teradata (1) terminal (1) test (1) testing (1) theory (1) thorium (1) time (1) tip (1) title (1) tmux .tmux.conf configuration (1) tmux efficiency bash (1) tool (1) ui code prototyping tips and tricks (1) umask Linux Unix bash file permissions chmod (1) url (1) urls (1) user (1) utility (1) utils (1) vb (1) vim perl regex bash search for string (1) vim recursively hacks (1) vim starter (1) vim-cheat-sheet vim cheat-sheet (1) vimeo (1) visual stuio (1) warsaw (1) wiki (1) wikipedia (1) window (1) windows 7 (1) windows 8 (1) windows programs (1) windows reinstall (1) windows utility batch perl space Windows::Clipboard (1) wisdoms (1) workflow (1) worth-reading (1) wrapper (1) xp_cmdshell (1) xslt (1) youtube (1)

Blog Archive

Translate with Google Translate

My Blog List

VideoBar

This content is not yet available over encrypted connections.